package com.dci.service.project;

import com.dci.model.project.PlanInfo;
import com.dci.model.project.PlanInfoKey;
import com.dci.model.project.ProjectInfo;
import com.dci.result.JsonData;

import java.util.List;

/**
 * All rights Reserved, Designed By 姑苏区政府大数据中心
 *
 * @version V1.0
 * @Title: null.java
 * @Package com.dci.service.project
 * @Description: 项目计划接口
 * @author: 张星亮
 * @date: 2019/2/25
 * @Copyright: 2019 姑苏区政府大数据中心. All rights reserved.
 * 注意：本内容仅限于姑苏区政府大数据中心内部传阅，禁止外泄以及用于其他的商业目
 */
public interface PlanInfoService {

    /**
     * 新增, 储备前期工作进度计划表
     *
     * @param planInfo
     * @return
     */
    int insertSelective(PlanInfo planInfo);

    /**
     * 新增, 储备前期工作进度计划表(计划转实施)
     *
     * @param planInfo
     * @return
     */
    int addSelective(PlanInfo planInfo);

    /**
     * 根据 ProjectId 查询相关进度计划表信息
     *
     * @param record
     * @return
     */
    JsonData selectByProjectId(ProjectInfo record);


    /**
     * 批量更新项目有进度计划表信息
     *
     * @param list
     * @return
     */
    JsonData batchUpdatePlanInfo(List<PlanInfo> list);


    /**
     * 根据 ProjectId 删除项目进度计划表信息
     *
     * @param record
     * @return
     */
    int deleteByProjectId(PlanInfo record);


    /**
     * 批量新增项目进度计划表信息
     *
     * @param list
     * @return
     */
    int batchInsertPlanInfo(List<PlanInfo> list);


    /**
     * 根据主键查询
     *
     * @param key
     * @return
     */
    PlanInfo selectByPrimaryKey(PlanInfoKey key);

    /**
     * 根据主键动态修改
     *
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(PlanInfo record);

    /**
     * 查询列表
     *
     * @param record
     * @return
     */
    JsonData selectPlanPages(PlanInfo record);


}
